package com.leecode.exercise;

import java.util.Arrays;

/**
 * @description: 题目描述：
 * LeeCode455   https://leetcode.cn/problems/assign-cookies/
 * <p>
 * 实现思路：
 * 由于我们此时需要s数组中找饼干分给g数组中的孩子，为了使饼干获得最大的使用价值，我们首先需要将两个数组进行排序。之后定义两个指针，指向两个数组，开始遍历两个数组，如果此时s数组中饼干不足以让此时对应的孩子满足，就要向后取值，即指向s数组的指针向后进行移动
 * 链接：https://leetcode.cn/problems/assign-cookies/solutions/2077493/yi-ge-hen-jian-dan-si-lu-by-kind-moore2d-777i/
 * @date: 2023/3/8 12:09
 * @author: yaoshubin
 * @version: 1.0
 */
public class LeeCode455_贪心算法_小孩发饼干 {

    public static void main(String[] args) {
        int[] g = {3, 2, 1};     //孩子胃口
        int[] s = {1, 1, 4};        //饼干
        int count = findContentChildren(g, s);
        System.out.println(count);
    }

    public static int findContentChildren(int[] g, int[] s) {
        Arrays.sort(g);
        Arrays.sort(s);
        int count = 0;
        for (int i = 0, j = 0; i < g.length && j < s.length; ) {
            if (g[i] <= s[j]) {
                count++;
                i++;
                j++;
            } else j++;
        }
        return count;
    }

}
